package com.ljl.service;

import com.alibaba.fastjson.JSONObject;
import com.ljl.entity.Account;
import com.ljl.service.dto.AccountQueryCriteria;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @author 刘家良
 * @date 2022/09/10 23:23
 * @description
 */
public interface AccountService {

    /**
     * 根据账户id进行签到
     * @param accountId 账户id
     * @return /
     */
    JSONObject signInByAccountId(Long accountId);

    /**
     * 分页查询
     * @param criteria 查询参数
     * @param pageable 分页
     * @return /
     */
    Map<String,Object> queryAll(AccountQueryCriteria criteria, Pageable pageable);

    /**
     * 查询全部
     * @return /
     */
    List<Account> queryAll();

    /**
     * 新增数据
     * @param account /
     * @return /
     */
    Account create(Account account);

    /**
     * 更新数据
     * @param account /
     * @return /
     */
    Account update(Account account);

    /**
     * 删除数据
     * @param id /
     */
    void deleteById(Long id);

    /**
     * 删除数据
     * @param ids /
     */
    void deleteAll(Set<Long> ids);
}
